% arara: indent: {overwrite: true, silent: on}
\documentclass[11pt]{article}
\usepackage{tikz}
\usetikzlibrary{trees}
\usetikzlibrary{decorations.pathmorphing}
\usetikzlibrary{decorations.markings}

\begin{document}

\tikzset{
	photon/.style={decorate, decoration={snake}, draw=red},
	particle/.style={draw=blue, postaction={decorate},
			decoration={markings,mark=at position .5 with {\arrow[draw=blue]{>}}}},
	antiparticle/.style={draw=blue, postaction={decorate},
			decoration={markings,mark=at position .5 with {\arrow[draw=blue]{<}}}},
	gluon/.style={decorate, draw=black,
			decoration={coil,amplitude=4pt, segment length=5pt}}
}

\begin{tikzpicture}[
		thick,
		% Set the overall layout of the tree
		level/.style={level distance=1.5cm},
		level 2/.style={sibling distance=3.5cm},
	]
	\coordinate
	child[grow=down]{
			edge from parent [antiparticle]
			child {
					node{$E$}
					edge from parent [particle]
				}
			child {
					node{$D$}
					edge from parent [gluon]
				}
			node [above=3pt] {$C$}
		}
	% I have to insert a dummy child to get the tree to grow
	% correctly to the right.
	child[grow=right, level distance=0pt] {
			child {
					node{$A$}
					edge from parent [gluon]
				}
			child {
					node{$B$}
					edge from parent [particle]
				}
		};
\end{tikzpicture}

\end{document}
